The invention relates as well to a method and a device for controlling at least one robot as to a method and a device of carrying a load with more than one robot.
It is known that in some cases, when two or more robots carry a part (load sharing), the total working volume may be reduced for the part over that achievable by carrying the part with a single robot. This is because the robots can interfere with each other in various orientations of the part, and because the two or more robots are not located in the same place. Therefore, a trajectory that is achievable by one robot is sometimes not also achievable by the others.
At the same time it is well known that the dexterous working volume of a robot (the volume in which all orientations can be reached) is usually less than the non-dexterous working volume.
Orientation of the part in load sharing is dictated by only the location of the grip points of the individual robots. The term “location” refers to the 3 vector representing the x, y, and z coordinates of an object relative to some frame of reference. The term “orientation” refers to the 3 rotations of an object about the x, y, and z axes relative to some frame of reference. The position of an object in space includes both its location and its orientation and accordingly the term “position” refers to the combination of both location and orientation. It takes 6 numbers to represent the position of an object in space, 3 representing location and 3 representing rotations about.
When an object is floating in space it is “free” to move in all 6 directions; it has 6 Degrees of Freedom (DOF) of motion. When a robot grasps that object with a standard gripper, it normally constrains its motion in all 6 DOF.
The attempt by more than one individual robots to also orient the part is over-constraining. That is, two robots grasping a part may break the part or themselves, because they each try to fix all 6 DOF.
There are several different kinds of singular positions that robots can move to, but here the primary interest is the kind of singular position in which the robot looses 1 DOF of control and at the same time has an infinite number of solutions for that position. One very common example is any position in which the wrist axes are arranged so that the axes of rotation of two joints are collinear. At such a point there are an infinite number of values of one of the two joints for which there is an opposite value taken by the other joint, such that the TCP maintains exactly the same position. This also means that there is an axis of rotation about which the robot no longer can move. It has lost that DOF of control.
When a robot moves very near such a singularity, at least two of the wrist joints must turn very fast in order for the TCP to move even very slowly. Usually, if trying to keep constant TCP speed, the wrist joints will try to move faster than their limits, and the TCP either has to slow down, or the robot must leave the desired trajectory, or the robot just stops because of a speed limit error.
The problem is even more disastrous when two or more robots are carrying the same part and one of them moves near a singular position. It will have to slow down or stop, so the others must also slow down or stop EXACTLY the same way. This is difficult to do in such a way that there is no strain on the part. For example, if two robots are carrying a bucket of water, even if the bucket can be slowed down without breaking, water will certainly slosh out of the bucket!
When two or more robots carry a shared load AND their orientation is fixed with respect to the load, the working volume of the coordinated group is sometimes reduced from that which a single robot carrying the same load would have. This is because the robots can interfere with each other in various orientations of the part, and because the robots are not located in the same place. That is, in some sense the part may only move about in the intersection of the working volumes of the robots sharing the load.
Also, when two or more robots carry the same part, with each robot trying to fix all 6 DOF of the part, the part is over-constrained in position. This is the current state-of-the art in load sharing.
There is a need both to increase the available working volume in load sharing and to reduce the over-constraint situation.
Also, since there are twelve DOF available between two robots carrying a part (or 18 DOF if three carry a part), then it should be possible to have redundant DOFs, so that singularities can be avoided.
Taking in consideration on the foregoing the main objects of the invention are to increase the available working volume, because each robot can make more use of its non-dexterous volume and to reduce stress in the part and in the robots due to over-constraining. A further object is avoiding singularities.